home *** CD-ROM | disk | FTP | other *** search
Modula Definition | 1994-11-17 | 7.0 KB | 239 lines |
- (*******************************************************************************
- : Program. VilIntuiSupD.def
- : Author. Carsten Wartmann (Crazy Video)
- : Address. Wutzkyallee 83, 12353 Berlin
- : Phone. 030/6614776
- : E-Mail C.Wartmann@AMBO.in-berlin.de (bevorzugt)
- : E-Mail Carsten_Wartmann@tfh-berlin.de
- : Version. 1.0
- : Date. 16.Nov.1994
- : Copyright. Freeware
- : Language. Modula-2
- : Compiler. M2Amiga V4.3d
- : Contents. Macht die VilIntuiSup.library für MODULA-2 (M2Amiga)
- : Contents. Programmierer nutzbar.
- : Contents. Enthält Die Definitionen der Tags, Const. etc. für
- : Contents. die VilIntuiSup.library
- *******************************************************************************)
-
- DEFINITION MODULE VilIntuiSupD ;
-
-
- FROM ExecD IMPORT Node ;
-
- FROM IntuitionD IMPORT ScreenPtr ;
-
- FROM UtilityD IMPORT tagUser ;
-
- FROM SYSTEM IMPORT ADDRESS,BYTE ;
-
- IMPORT R;
-
-
- CONST tavisErrOk = 0 ;
- tavisErrNoMem = 1 ;
- tavisErrModeNotAvailable = 2 ;
- tavisErrDimToBig = 3 ;
- tavisErrDimToDepth = 4 ;
- tavisErrDoubleBufToBig = 5 ;
- tavisErrCantOpenScreen = 6 ;
-
- InvalidID = 0FFFFFFFFH ;
-
- VilZero = 000H ;
- VilOne = 00EH ;
- VilScrCopy = 00DH ;
- VilNotScrCopy = 0D0H ;
- VilScrAnd = 005H ;
- VilNotScrAnd = 050H ;
- VilScrPaint = 06DH ;
- VilMergePaint = 0D6H ;
- VilScrInvert = 059H ;
- VilNotScrInvert = 095H ;
- VilScrErase = 009H ;
- VilNotScrErase = 090H ;
- VilScrOrNot = 0ADH ;
- VilNotScrOrNot = 0DAH ;
- VilDstInvert = 00BH ;
-
- VilModeNameLen = 40 ;
-
-
-
- TYPE Dimension = RECORD (* für VillageOpenScreen, sollte nicht *)
- ViewModeID : LONGCARD ; (* mehr benutzt werden . *)
- width : CARDINAL ;
- height : CARDINAL ;
- depth : CARDINAL ;
- END ;
-
- DimensionPtr = POINTER TO Dimension ;
-
-
- VilCustomModeNode = RECORD
- node : Node ;
- text : ARRAY [0..VilModeNameLen] OF CHAR ;
- displayID : LONGCARD ;
- width : CARDINAL ;
- height : CARDINAL ;
- depth : CARDINAL ;
- END ;
-
- VilCustomModeNodePtr = POINTER TO VilCustomModeNode ;
-
-
- VilCopyRecord = RECORD
- scrAdr : ADDRESS ;
- dstAdr : ADDRESS ;
- scrPitch : CARDINAL ;
- dstPitch : CARDINAL ;
- width : CARDINAL ;
- height : CARDINAL ;
- rop : LONGCARD ;
- END ;
-
- VilCopyRecordPtr = POINTER TO VilCopyRecord ;
-
-
- VilFillRecord = RECORD
- dstAdr : ADDRESS ;
- dstPitch : CARDINAL ;
- width : CARDINAL ;
- height : CARDINAL ;
- color : LONGINT ;
- END ;
-
- VilFillRecordPtr = POINTER TO VilFillRecord ;
-
-
-
- TavisTags=(tavisDummy:=tagUser+4710,
- tavisMinDepth,
- tavisMaxDepth,
- tavisMinHeight,
- tavisMaxHeight,
- tavisMinWidth,
- tavisMaxWidth,
- tavisWindowTitle,
- tavisListview,
- tavisOkGadget,
- tavisCancelGadget,
- tavisHelpText,
- tavisAboutText,
- tavisNoticeText,
- tavisChooseText,
- tavisMenuQuit,
- tavisMenuHelp,
- tavisMenuAbout,
- tavisMenuProject,
- tavisObsolete1,
- tavisObsolete2,
- tavisCustomList,
- tavisObsolete3,
- tavisObsolete4,
- tavisObsolete5,
- tavisObsolete6,
- tavisObsolete7,
- tavisObsolete8,
- tavisObsolete9,
- tavisObsolete10,
- tavisObsolete11,
- tavisScreenHeight,
- tavisScreenWidth,
- tavisScreenDepth,
- tavisScreenModeID,
- tavisBestModeID,
- tavisOpenBehind,
- tavisAutoscroll,
- tavisAllowFallback,
- tavisAdditionalMem,
- tavisErrorCode,
- tavisDoubleBuffer,
- tavisDMStruct) ;
-
-
-
- ScreenDataTags=(sdDummy:=tagUser+4710,
- sdScreenDepth,
- sdScreenMemSize,
- sdCardMemSize,
- sdCardSegmented) ;
-
-
-
-
- (* Support *)
-
- (* Setze PP für 68000er *)
-
- PROCEDURE SetPackedPixel(scr{R.A0} : ScreenPtr ; x{R.D2},y{R.D3} : CARDINAL ;
- color{R.D4} : CARDINAL) ;
-
- (* Setze PP für 68020er aufwärts *)
- (* Wird voraussichtlich in der nächsten Version nicht mehr existieren ! *)
-
- PROCEDURE SetPackedPixelO(scr{R.A0} : ScreenPtr ; x{R.D2},y{R.D3} : CARDINAL ;
- color{R.D4} : CARDINAL) ;
-
- (* PP in MODULA-2 implementiert für Vergleichszwecke *)
- (* Wird voraussichtlich in der nächsten Version nicht mehr existieren ! *)
-
- PROCEDURE SetPPM(scr : ScreenPtr ; x,y : CARDINAL ; color : SHORTCARD) ;
-
-
-
- (* Setze TrueColorPixel *)
-
- PROCEDURE SetTrueColorPixel(scr{R.A0} : ScreenPtr ; x{R.D2},y{R.D3} : CARDINAL ;
- r{R.D4},g{R.D5},b{R.D6} : CARDINAL) ;
-
- (* Setze 15(6)BitPixel *)
-
- PROCEDURE Set15BitPixel(scr{R.A0} : ScreenPtr ; x{R.D2},y{R.D3} : CARDINAL ;
- r{R.D4},g{R.D5},b{R.D6} : CARDINAL) ;
-
- PROCEDURE Set16BitPixel(scr{R.A0} : ScreenPtr ; x{R.D2},y{R.D3} : CARDINAL ;
- r{R.D4},g{R.D5},b{R.D6} : CARDINAL) ;
-
- (* Linienroutinen *)
-
- (* Schnell aber ohne jeglich Sicherheitsabrage,
- Guru ruft bei einer Länge von Null !!!!!!!!!! *)
- PROCEDURE LinePackedO(scr{R.A0} : ScreenPtr ; x1{R.D5},y1{R.D6},
- x2{R.D2},y2{R.D3},color{R.D4} : LONGINT) ;
-
- (* In Assembler aber mit Sicherheitsabfrage *)
- PROCEDURE LinePacked(scr{R.A0} : ScreenPtr ; x1{R.D5},y1{R.D6},
- x2{R.D2},y2{R.D3},color{R.D4} : LONGINT) ;
-
- (* In Modula-2 implementiert. Zu Vergleichszwecken *)
- (* Wird voraussichtlich in der nächsten Version nicht mehr existieren ! *)
- PROCEDURE LinePackedM(scr{R.A0} : ScreenPtr ; x1{R.D2},y1{R.D3},x2,y2,
- color{R.D4} : INTEGER) ;
-
- PROCEDURE LineTrueColor(scr : ScreenPtr ; x1,y1,x2,y2,r,g,b : INTEGER) ;
-
- PROCEDURE Line15Bit(scr : ScreenPtr ; x1,y1,x2,y2,r,g,b : INTEGER) ;
-
- PROCEDURE Line16Bit(scr : ScreenPtr ; x1,y1,x2,y2,r,g,b : INTEGER) ;
-
- (* Entwickler Testroutine ;-) *)
- PROCEDURE TstL(scr{R.A0} : ScreenPtr ; a{R.D3} : LONGINT) ;
-
-
- (* Hi-Color Support*)
-
- PROCEDURE Get15FromRGB(r{R.D4},g{R.D5},b{R.D6} : CARDINAL) : CARDINAL ;
- PROCEDURE Get16FromRGB(r{R.D4},g{R.D5},b{R.D6} : CARDINAL) : CARDINAL ;
-
-
- PROCEDURE Kreis(scr : ScreenPtr ; x,y,r,col : INTEGER) ;
-
- PROCEDURE ClearScreen(scr : ScreenPtr) ;
-
- PROCEDURE ClearBuf(scr : ScreenPtr ; bufadr : ADDRESS) ;
-
-
- END VilIntuiSupD .
-
-